package com.ylkj.patientdrug.entity;

import com.chad.library.adapter.base.entity.MultiItemEntity;

import java.util.List;

import static com.examination.mlib.constants.AllStringConstants.*;


public class DrugEntity implements MultiItemEntity {

    private boolean choice;

    public boolean isChoice() {
        return choice;
    }

    public void setChoice(boolean choice) {
        this.choice = choice;
    }

    /**
     * doctorId : 131268163469313
     * doctor : {"doctorId":131268163469313,"name":"黄文彬"}
     * commodityList : [{"commodityId":"112184136892417","commodityType":"drug","addedQuantity":1,"relevanceAddedQuantity":0,"price":348,"inventoryQuantity":993,"soldOut":false,"published":true,"relatedPacketQuantify":0,"checked":true,"merchantId":1,"pureDrug":true,"canAddCart":null,"drugId":112184136892417,"name":"异舒吉 硝酸异山梨酯喷雾剂","genericName":"硝酸异山梨酯喷雾剂","type":{"key":"type_2","desc":"处方药"},"spec":"(16g:0.471g)*20ml","imageUrl":"https://imgvbp.yilijk.com/271/2719eae8e2624045b832e5d542558694.jpg","packingUnit":{"key":"vase","desc":"瓶"},"usage":{"key":"901","desc":"口腔喷入"},"dosage":{"key":9,"desc":"1次/天","hour":24},"everytimeQuantity":5,"minDosageUnit":{"key":"sprinkle","desc":"喷"},"customUsageDosage":"将一至三喷每隔30秒一次喷入口腔（具体详见说明书）","minUnitQuantity":300,"rx":true,"usageAndDosage":null,"taboo":null,"announcements":null},{"commodityId":"148805295931393","commodityType":"packet","addedQuantity":1,"relevanceAddedQuantity":0,"price":0.01,"inventoryQuantity":84,"soldOut":false,"published":true,"relatedPacketQuantify":0,"checked":true,"merchantId":2,"pureDrug":true,"canAddCart":null,"packetId":148805295931393,"name":"用药限制套餐佣金28","name2":"用药限制套餐佣金28","imageUrl":"https://imgvbp.yilijk.com/de8/de8c7ad0dc614d8e83134ad4f6c111c9.jpg","preferentialImageUrl":"","diseaseList":["消化不良"],"inquiryQuantity":0,"articleQuantity":5,"extraService":null,"drugList":[{"packetDrugId":148805295931394,"packetId":148805295931393,"drugId":114407344504833,"name":"松佰 速效救心丸84天","genericName":"速效救心丸","primary":false,"price":0.01,"quantity":1,"imageUrl":"https://imgvbp.yilijk.com/236/236e7b8e582b4049a80bc7f1197358b4.jpg","packingUnit":{"key":"box","desc":"盒"},"spec":"60丸*3瓶","usage":{"key":"1","desc":"口服"},"dosage":{"key":9,"desc":"1次/天","hour":24},"amount":0.01,"everytimeQuantity":1,"minDosageUnit":{"key":"granule","desc":"粒"},"customUsageDosage":null,"minUnitQuantity":84,"rx":true,"usageAndDosage":null,"taboo":null,"announcements":null},{"packetDrugId":148805295931395,"packetId":148805295931393,"drugId":102976446332929,"name":"北大维信 血脂康胶囊 31天","genericName":"血脂康胶囊","primary":true,"price":0.01,"quantity":1,"imageUrl":"https://imgvbp.yilijk.com/file/b30119fc8c074cba81df8c8602d50302.jpg","packingUnit":{"key":"box","desc":"盒"},"spec":"0.3g*31粒","usage":{"key":"1","desc":"口服"},"dosage":{"key":9,"desc":"1次/天","hour":24},"amount":0.01,"everytimeQuantity":1,"minDosageUnit":{"key":"granule","desc":"粒"},"customUsageDosage":null,"minUnitQuantity":31,"rx":true,"usageAndDosage":null,"taboo":null,"announcements":null}],"frequency":1}]
     */

    private String doctorId;
    private String name;
    /**
     * 电商标题
     */
    private String marketDefaultDoctorName;
    /**
     * doctorId : 131268163469313
     * name : 黄文彬
     */

//    private DoctorBean doctor;
    /**
     * commodityId : 112184136892417
     * commodityType : drug
     * addedQuantity : 1
     * relevanceAddedQuantity : 0
     * price : 348
     * inventoryQuantity : 993
     * soldOut : false
     * published : true
     * relatedPacketQuantify : 0
     * checked : true
     * merchantId : 1
     * pureDrug : true
     * canAddCart : null
     * drugId : 112184136892417
     * name : 异舒吉 硝酸异山梨酯喷雾剂
     * genericName : 硝酸异山梨酯喷雾剂
     * type : {"key":"type_2","desc":"处方药"}
     * spec : (16g:0.471g)*20ml
     * imageUrl : https://imgvbp.yilijk.com/271/2719eae8e2624045b832e5d542558694.jpg
     * packingUnit : {"key":"vase","desc":"瓶"}
     * usage : {"key":"901","desc":"口腔喷入"}
     * dosage : {"key":9,"desc":"1次/天","hour":24}
     * everytimeQuantity : 5
     * minDosageUnit : {"key":"sprinkle","desc":"喷"}
     * customUsageDosage : 将一至三喷每隔30秒一次喷入口腔（具体详见说明书）
     * minUnitQuantity : 300
     * rx : true
     * usageAndDosage : null
     * taboo : null
     * announcements : null
     */

    private List<CommodityListBean> commodityList;

    public String getMarketDefaultDoctorName() {
        return marketDefaultDoctorName;
    }

    public void setMarketDefaultDoctorName(String marketDefaultDoctorName) {
        this.marketDefaultDoctorName = marketDefaultDoctorName;
    }

    public String getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }

//    public DoctorBean getDoctor() {
//        return doctor;
//    }
//
//    public void setDoctor(DoctorBean doctor) {
//        this.doctor = doctor;
//    }

    public List<CommodityListBean> getCommodityList() {
        return commodityList;
    }

    public void setCommodityList(List<CommodityListBean> commodityList) {
        this.commodityList = commodityList;
    }

    @Override
    public int getItemType() {
        return ITEM_TYPE_DRUG;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static class DoctorBean {
        private String doctorId;
        private String name;

        public String getDoctorId() {
            return doctorId;
        }

        public void setDoctorId(String doctorId) {
            this.doctorId = doctorId;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    //虚拟品bean
    public static class ServicePackageDetailVOS {
        private String id;
        private String name;
        private String effectivePeriod;
        private List<VirtualServiceItem> virtualServiceItem;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getEffectivePeriod() {
            return effectivePeriod;
        }

        public void setEffectivePeriod(String effectivePeriod) {
            this.effectivePeriod = effectivePeriod;
        }

        public List<VirtualServiceItem> getVirtualServiceItem() {
            return virtualServiceItem;
        }

        public void setVirtualServiceItem(List<VirtualServiceItem> virtualServiceItem) {
            this.virtualServiceItem = virtualServiceItem;
        }
    }

    public static class VirtualServiceItem {
        private String virtualServiceType;
        private String virtualServiceName;
        private String number;

        public String getVirtualServiceType() {
            return virtualServiceType;
        }

        public void setVirtualServiceType(String virtualServiceType) {
            this.virtualServiceType = virtualServiceType;
        }

        public String getVirtualServiceName() {
            return virtualServiceName;
        }

        public void setVirtualServiceName(String virtualServiceName) {
            this.virtualServiceName = virtualServiceName;
        }

        public String getNumber() {
            return number;
        }

        public void setNumber(String number) {
            this.number = number;
        }
    }

    public static class CommodityListBean {
        private String commodityId;
        private String commodityType;
        private String addedQuantity;
        private String relevanceAddedQuantity;
        private String price;
        private String inventoryQuantity;
        private boolean soldOut;
        private boolean published;
        private String relatedPacketQuantify;
        private boolean checked;
        private String merchantId;
        private boolean pureDrug;
        private String canAddCart;
        private long drugId;
        private long packetId;
        private String name;
        private String genericName;
        private String inquiryQuantity;
        private String articleQuantity;
        private List<DrugPackEntity> drugList;
        private String doctorId;
        private List<ServicePackageDetailVOS> servicePackageDetailVOS;
        private String isRegular;

        public List<ServicePackageDetailVOS> getServicePackageDetailVOS() {
            return servicePackageDetailVOS;
        }

        public void setServicePackageDetailVOS(List<ServicePackageDetailVOS> servicePackageDetailVOS) {
            this.servicePackageDetailVOS = servicePackageDetailVOS;
        }

        public List<DrugPackEntity> getDrugList() {
            return drugList;
        }

        public void setDrugList(List<DrugPackEntity> drugList) {
            this.drugList = drugList;
        }

        /**
         * key : type_2
         * desc : 处方药
         */

//        private TypeBean type;
        private String spec;
        private String imageUrl;
        /**
         * key : vase
         * desc : 瓶
         */

//        private PackingUnitBean packingUnit;
        /**
         * key : 901
         * desc : 口腔喷入
         */

//        private UsageBean usage;
        /**
         * key : 9
         * desc : 1次/天
         * hour : 24
         */

//        private DosageBean dosage;
        private String everytimeQuantity;
        /**
         * key : sprinkle
         * desc : 喷
         */

//        private MinDosageUnitBean minDosageUnit;
        private String customUsageDosage;
        private int minUnitQuantity;
        private boolean rx;
        private Object usageAndDosage;
        private Object taboo;
        private Object announcements;

        public String getInquiryQuantity() {
            return inquiryQuantity;
        }

        public void setInquiryQuantity(String inquiryQuantity) {
            this.inquiryQuantity = inquiryQuantity;
        }

        public String getArticleQuantity() {
            return articleQuantity;
        }

        public void setArticleQuantity(String articleQuantity) {
            this.articleQuantity = articleQuantity;
        }

        public String getCommodityId() {
            return commodityId;
        }

        public void setCommodityId(String commodityId) {
            this.commodityId = commodityId;
        }

        public String getCommodityType() {
            return commodityType;
        }

        public void setCommodityType(String commodityType) {
            this.commodityType = commodityType;
        }

        public String getAddedQuantity() {
            return addedQuantity;
        }

        public void setAddedQuantity(String addedQuantity) {
            this.addedQuantity = addedQuantity;
        }

        public String getRelevanceAddedQuantity() {
            return relevanceAddedQuantity;
        }

        public void setRelevanceAddedQuantity(String relevanceAddedQuantity) {
            this.relevanceAddedQuantity = relevanceAddedQuantity;
        }

        public String getPrice() {
            return price;
        }

        public void setPrice(String price) {
            this.price = price;
        }

        public String getInventoryQuantity() {
            return inventoryQuantity;
        }

        public void setInventoryQuantity(String inventoryQuantity) {
            this.inventoryQuantity = inventoryQuantity;
        }

        public boolean isSoldOut() {
            return soldOut;
        }

        public void setSoldOut(boolean soldOut) {
            this.soldOut = soldOut;
        }

        public boolean isPublished() {
            return published;
        }

        public void setPublished(boolean published) {
            this.published = published;
        }

        public String getRelatedPacketQuantify() {
            return relatedPacketQuantify;
        }

        public void setRelatedPacketQuantify(String relatedPacketQuantify) {
            this.relatedPacketQuantify = relatedPacketQuantify;
        }

        public boolean isChecked() {
            return checked;
        }

        public void setChecked(boolean checked) {
            this.checked = checked;
        }

        public String getMerchantId() {
            return merchantId;
        }

        public void setMerchantId(String merchantId) {
            this.merchantId = merchantId;
        }

        public boolean isPureDrug() {
            return pureDrug;
        }

        public void setPureDrug(boolean pureDrug) {
            this.pureDrug = pureDrug;
        }

        public String getCanAddCart() {
            return canAddCart;
        }

        public void setCanAddCart(String canAddCart) {
            this.canAddCart = canAddCart;
        }

        public long getDrugId() {
            return drugId;
        }

        public void setDrugId(long drugId) {
            this.drugId = drugId;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getGenericName() {
            return genericName;
        }

        public void setGenericName(String genericName) {
            this.genericName = genericName;
        }
//
//        public TypeBean getType() {
//            return type;
//        }
//
//        public void setType(TypeBean type) {
//            this.type = type;
//        }

        public String getSpec() {
            return spec;
        }

        public void setSpec(String spec) {
            this.spec = spec;
        }

        public String getImageUrl() {
            return imageUrl;
        }

        public void setImageUrl(String imageUrl) {
            this.imageUrl = imageUrl;
        }

//        public PackingUnitBean getPackingUnit() {
//            return packingUnit;
//        }
//
//        public void setPackingUnit(PackingUnitBean packingUnit) {
//            this.packingUnit = packingUnit;
//        }

//        public UsageBean getUsage() {
//            return usage;
//        }
//
//        public void setUsage(UsageBean usage) {
//            this.usage = usage;
//        }

//        public DosageBean getDosage() {
//            return dosage;
//        }
//
//        public void setDosage(DosageBean dosage) {
//            this.dosage = dosage;
//        }

        public String getEverytimeQuantity() {
            return everytimeQuantity;
        }

        public void setEverytimeQuantity(String everytimeQuantity) {
            this.everytimeQuantity = everytimeQuantity;
        }

//        public MinDosageUnitBean getMinDosageUnit() {
//            return minDosageUnit;
//        }
//
//        public void setMinDosageUnit(MinDosageUnitBean minDosageUnit) {
//            this.minDosageUnit = minDosageUnit;
//        }

        public String getCustomUsageDosage() {
            return customUsageDosage;
        }

        public void setCustomUsageDosage(String customUsageDosage) {
            this.customUsageDosage = customUsageDosage;
        }

        public int getMinUnitQuantity() {
            return minUnitQuantity;
        }

        public void setMinUnitQuantity(int minUnitQuantity) {
            this.minUnitQuantity = minUnitQuantity;
        }

        public boolean isRx() {
            return rx;
        }

        public void setRx(boolean rx) {
            this.rx = rx;
        }

        public Object getUsageAndDosage() {
            return usageAndDosage;
        }

        public void setUsageAndDosage(Object usageAndDosage) {
            this.usageAndDosage = usageAndDosage;
        }

        public Object getTaboo() {
            return taboo;
        }

        public void setTaboo(Object taboo) {
            this.taboo = taboo;
        }

        public Object getAnnouncements() {
            return announcements;
        }

        public void setAnnouncements(Object announcements) {
            this.announcements = announcements;
        }

        public String getDoctorId() {
            return doctorId;
        }

        public void setDoctorId(String doctorId) {
            this.doctorId = doctorId;
        }

        public long getPacketId() {
            return packetId;
        }

        public void setPacketId(long packetId) {
            this.packetId = packetId;
        }

        public String getIsRegular() {
            return isRegular;
        }

        public void setIsRegular(String isRegular) {
            this.isRegular = isRegular;
        }

        public static class TypeBean {
            private String key;
            private String desc;

            public String getKey() {
                return key;
            }

            public void setKey(String key) {
                this.key = key;
            }

            public String getDesc() {
                return desc;
            }

            public void setDesc(String desc) {
                this.desc = desc;
            }
        }

        public static class PackingUnitBean {
            private String key;
            private String desc;

            public String getKey() {
                return key;
            }

            public void setKey(String key) {
                this.key = key;
            }

            public String getDesc() {
                return desc;
            }

            public void setDesc(String desc) {
                this.desc = desc;
            }
        }

        public static class UsageBean {
            private String key;
            private String desc;

            public String getKey() {
                return key;
            }

            public void setKey(String key) {
                this.key = key;
            }

            public String getDesc() {
                return desc;
            }

            public void setDesc(String desc) {
                this.desc = desc;
            }
        }

        public static class DosageBean {
            private int key;
            private String desc;
            private int hour;

            public int getKey() {
                return key;
            }

            public void setKey(int key) {
                this.key = key;
            }

            public String getDesc() {
                return desc;
            }

            public void setDesc(String desc) {
                this.desc = desc;
            }

            public int getHour() {
                return hour;
            }

            public void setHour(int hour) {
                this.hour = hour;
            }
        }

        public static class MinDosageUnitBean {
            private String key;
            private String desc;

            public String getKey() {
                return key;
            }

            public void setKey(String key) {
                this.key = key;
            }

            public String getDesc() {
                return desc;
            }

            public void setDesc(String desc) {
                this.desc = desc;
            }
        }
    }
}
